// components/removeList/removeList].js
const app = getApp()
const db = wx.cloud.database()
const _ = db.command

Component({
  //组件声明周期
  lifetimes: {
    attached: function() {
      // 在组件实例进入页面节点树时执行
      db.collection("users").doc(this.data.messageId).field({
        userPhoto:true,
        nickName:true
      })
      .get()
      .then((res)=>{
        this.setData({
          userMessage : res.data
        })
      })
    },
    /**
   * 组件的属性列表
   */
    detached: function() {
      // 在组件实例被从页面节点树移除时执行
    },
  },
  properties: {
    messageId:String
  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
    //点击删除
    handleDelMessage(){
      wx.showModal({
        title: '提示信息',
        content: '删除消息',
        confirmText: '删除',
        confirmColor:"#33ee22",
        cancelColor:"#11aa44",
        success:(res)=>{
          if (res.confirm) {
            this.removeMessage();
          } else if (res.cancel) {
            console.log('用户点击取消')
          }
        }
      })
    },
  removeMessage(){
    db.collection('message').where({
      userId: app.userInfo._id
    }).get().then((res) => {
      let list = res.data[0].list;//找到对应的list中的数据
      console.log(list);
      list = list.filter((val, i) => {//用过滤来删除list中的一条数据
        return val != this.data.messageId
      });
      console.log(list);
      wx.cloud.callFunction({
        name: 'update',
        data: {
          collection: 'message',
          where: {
            userId: app.userInfo._id
          },
          data: {
            list
          }
        }
      }).then((res) => {
        this.triggerEvent('myevent', list);//组件通信的函数。list是更新后剩余的数组。在父组件中是ev.detail
      });
    });
  },
  //添加好友
  handleAddFriend(){
    wx.showModal({
      title: '提示信息',
      content: '申请好友',
      confirmText: '同意',
      confirmColor:"#33ee22",
        cancelColor:"#11aa44",
      success:(res)=>{
        if (res.confirm) {
          db.collection('users').doc(app.userInfo._id).update({
            data:{
            friendList : _.unshift(this.data.messageId)
            }
          }).then((res)=>{});//这一段是将对方添加到我的好友列表
          //接下来要将自己的id添加到对方的好友列表里。因为权限关系需要用到云函数
          wx.cloud.callFunction({
            name: "update",
            data: {
              collection: 'users',
              doc: this.data.messageId,
              data: `{
                friendList: _.unshift('${app.userInfo._id}')
              }`
            }
          }).then((res)=>{});
            this.removeMessage();
        } else if (res.cancel) {
          console.log('用户点击取消')
        }
      }
    })
  }
}
})
